hotel_stays %>% plot_bar(maxcat = 50, nrow = 3)
4 columns ignored with more than 50 categories.
country: 166 categories
agent: 315 categories
company: 332 categories
reservation_status_date: 805 categories

skim(hotel_stays)
── Data Summary ────────────────────────
                           Values     
Name                       hotel_stays
Number of rows             75166      
Number of columns          29         
_______________________               
Column type frequency:                
  character                14         
  Date                     1          
  numeric                  14         
________________________              
Group variables            None       

── Variable type: character ──────────────────────────────────────────────────────────────────────────────────────────────────────
   skim_variable               n_missing complete_rate   min   max empty n_unique whitespace
 1 hotel                               0             1    10    12     0        2          0
 2 arrival_date_month                  0             1     3     9     0       12          0
 3 children                            0             1     4     8     0        2          0
 4 meal                                0             1     2     9     0        5          0
 5 country                             0             1     2     4     0      166          0
 6 market_segment                      0             1     6    13     0        7          0
 7 distribution_channel                0             1     3     9     0        5          0
 8 reserved_room_type                  0             1     1     1     0        9          0
 9 assigned_room_type                  0             1     1     1     0       10          0
10 deposit_type                        0             1    10    10     0        3          0
11 agent                               0             1     1     4     0      315          0
12 company                             0             1     1     4     0      332          0
13 customer_type                       0             1     5    15     0        4          0
14 required_car_parking_spaces         0             1     4     7     0        2          0

── Variable type: Date ───────────────────────────────────────────────────────────────────────────────────────────────────────────
  skim_variable           n_missing complete_rate min        max        median     n_unique
1 reservation_status_date         0             1 2015-07-01 2017-09-14 2016-09-01      805

── Variable type: numeric ────────────────────────────────────────────────────────────────────────────────────────────────────────
   skim_variable                  n_missing complete_rate      mean     sd      p0    p25    p50   p75  p100 hist 
 1 lead_time                              0             1   80.0    91.1      0       9     45     124   737 ▇▂▁▁▁
 2 arrival_date_year                      0             1 2016.      0.703 2015    2016   2016    2017  2017 ▃▁▇▁▆
 3 arrival_date_week_number               0             1   27.1    13.9      1      16     28      38    53 ▆▇▇▇▆
 4 arrival_date_day_of_month              0             1   15.8     8.78     1       8     16      23    31 ▇▇▇▇▆
 5 stays_in_weekend_nights                0             1    0.929   0.993    0       0      1       2    19 ▇▁▁▁▁
 6 stays_in_week_nights                   0             1    2.46    1.92     0       1      2       3    50 ▇▁▁▁▁
 7 adults                                 0             1    1.83    0.510    0       2      2       2     4 ▁▂▇▁▁
 8 is_repeated_guest                      0             1    0.0433  0.204    0       0      0       0     1 ▇▁▁▁▁
 9 previous_cancellations                 0             1    0.0158  0.272    0       0      0       0    13 ▇▁▁▁▁
10 previous_bookings_not_canceled         0             1    0.203   1.81     0       0      0       0    72 ▇▁▁▁▁
11 booking_changes                        0             1    0.293   0.736    0       0      0       0    21 ▇▁▁▁▁
12 days_in_waiting_list                   0             1    1.59   14.8      0       0      0       0   379 ▇▁▁▁▁
13 adr                                    0             1  100.0    49.2     -6.38   67.5   92.5   125   510 ▇▆▁▁▁
14 total_of_special_requests              0             1    0.714   0.834    0       0      1       1     5 ▇▁▁▁▁

막대그래프

막대 그래프

hotel_stays %>%
  mutate(arrival_date_month = factor(arrival_date_month,
    levels = month.name
  )) %>%
  count(hotel, arrival_date_month, children) %>%
  group_by(hotel, children) %>%
  mutate(proportion = n / sum(n)) %>%
  plot_ly(x = ~arrival_date_month , y = ~proportion, color = ~children, type = "bar") %>%
  layout(title = "Occupation Type Group",
         barmode = 'group',
         xaxis = list(title = ""),
         yaxis = list(title = ""))
minimal value for n is 3, returning requested palette with 3 different levels
minimal value for n is 3, returning requested palette with 3 different levels
minimal value for n is 3, returning requested palette with 3 different levels
minimal value for n is 3, returning requested palette with 3 different levels

데이터 한판에 보기

산점도 그래프

하이라이트 적용

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCgotLS0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCmJvZHksIHRkIHsKICAgZm9udC1zaXplOiAxMnB4Owp9CmNvZGUucnsKICBmb250LXNpemU6IDEycHg7Cn0KcHJlIHsKICBmb250LXNpemU6IDEycHgKfQo8L3N0eWxlPgoKYGBge3Igc2V0IHVwICxpbmNsdWRlPUZBTFNFfQpsaWJyYXJ5KGtuaXRyKQprbml0cjo6b3B0c19jaHVuayRzZXQoY2FjaGUgPSBULCB3YXJuaW5nID0gRiwKICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBGLCBlY2hvID0gVCwgZHBpID0gMTgwLAogICAgICAgICAgICAgICAgICAgICAgZmlnLndpZHRoID0gOCwgZmlnLmhlaWdodCA9IDUpCgp0aGVtZV9zZXQodGhlbWVfYncoKSArCiAgICAgICAgIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDE1LCBmYWNlID0gImJvbGQiKSwKICAgICAgICAgICAgICAgcGxvdC5zdWJ0aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIsIGZhY2UgPSAiYm9sZCIpLAogICAgICAgICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChzaXplID0gOCksCiAgICAgICAgICAgICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSA4KSwKICAgICAgICAgICAgICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMiksCiAgICAgICAgICAgICAgIGF4aXMudGl0bGUueSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpLAogICAgICAgICAgICAgICBsZWdlbmQudGV4dCA9ZWxlbWVudF90ZXh0KHNpemUgPSAxMiksCiAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9ZWxlbWVudF90ZXh0KHNpemUgPSAxMikKICAgICAgICAgICAgICApCiAgICAgICAgICApCgojIHRpZHltb2RlbHMKZm9yIChwYWNrYWdlIGluIGMoJ2phbml0b3InLCdza2ltcicsICdjb3JyZWxhdGlvbmZ1bm5lbCcsICdEYXRhRXhwbG9yZXInKSkgewogIGlmICghcmVxdWlyZShwYWNrYWdlLCBjaGFyYWN0ZXIub25seT1ULCBxdWlldGx5PVQpKSB7CiAgICBpbnN0YWxsLnBhY2thZ2VzKHBhY2thZ2UpCiAgICBsaWJyYXJ5KHBhY2thZ2UsIGNoYXJhY3Rlci5vbmx5PVQpCiAgfQp9CgojIHRpZHltb2RlbHMKZm9yIChwYWNrYWdlIGluIGMoJ2dnaGlnaGxpZ2h0JywgJ3BhdGNod29yaycsICdnZ3Bsb3QyJywgJ0dHYWxseScsICdoaWdoY2hhcnRlcicsJ2NvcnJlbGF0aW9uZnVubmVsJywncGxvdGx5JykpIHsKICBpZiAoIXJlcXVpcmUocGFja2FnZSwgY2hhcmFjdGVyLm9ubHk9VCwgcXVpZXRseT1UKSkgewogICAgaW5zdGFsbC5wYWNrYWdlcyhwYWNrYWdlKQogICAgbGlicmFyeShwYWNrYWdlLCBjaGFyYWN0ZXIub25seT1UKQogIH0KfQoKIyBDb3JlCmZvciAocGFja2FnZSBpbiBjKCdkb1BhcmFsbGVsJywgJ3RpZHl2ZXJzZScsICd0aWR5cXVhbnQnLCAna25pdHInKSkgewogIGlmICghcmVxdWlyZShwYWNrYWdlLCBjaGFyYWN0ZXIub25seT1ULCBxdWlldGx5PVQpKSB7CiAgICBpbnN0YWxsLnBhY2thZ2VzKHBhY2thZ2UpCiAgICBsaWJyYXJ5KHBhY2thZ2UsIGNoYXJhY3Rlci5vbmx5PVQpCiAgfQp9CmFsbF9jb3JlcyA8LSBwYXJhbGxlbDo6ZGV0ZWN0Q29yZXMobG9naWNhbCA9IEZBTFNFKQpyZWdpc3RlckRvUGFyYWxsZWwoY29yZXMgPSBhbGxfY29yZXMpCmBgYAoKCmBgYHtyfQoKaG90ZWxzIDwtIHJlYWRyOjpyZWFkX2NzdigiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Jmb3JkYXRhc2NpZW5jZS90aWR5dHVlc2RheS9tYXN0ZXIvZGF0YS8yMDIwLzIwMjAtMDItMTEvaG90ZWxzLmNzdiIpICU+JQogIGNsZWFuX25hbWVzKCkKICAjIHNlbGVjdCjsiJzshJwsZXZlcnRoaW5nKCkpCgpob3RlbF9zdGF5cyA8LSBob3RlbHMgJT4lCiAgZmlsdGVyKGlzX2NhbmNlbGVkID09IDApICU+JQogIG11dGF0ZSgKICAgIGNoaWxkcmVuID0gY2FzZV93aGVuKAogICAgICBjaGlsZHJlbiArIGJhYmllcyA+IDAgfiAiY2hpbGRyZW4iLAogICAgICBUUlVFIH4gIm5vbmUiCiAgICApLAogICAgcmVxdWlyZWRfY2FyX3Bhcmtpbmdfc3BhY2VzID0gY2FzZV93aGVuKAogICAgICByZXF1aXJlZF9jYXJfcGFya2luZ19zcGFjZXMgPiAwIH4gInBhcmtpbmciLAogICAgICBUUlVFIH4gIm5vbmUiCiAgICApCiAgKSAlPiUKICBzZWxlY3QoLWlzX2NhbmNlbGVkLCAtcmVzZXJ2YXRpb25fc3RhdHVzLCAtYmFiaWVzKQoKaG90ZWxfc3RheXMKIyBrYWJsZShoZWFkKGhvdGVsX3N0YXlzKSwgY2FwdGlvbiA9ICJ0YWJsZSB3aXRoIGthYmxlIikgI+q5lOuBlO2VnCDthYzsnbTruJQg7ZGc7ZiEICjslpEg7KCB7J2E65WMKQpgYGAKCmBgYHtyfQpob3RlbF9zdGF5cyAlPiUgcGxvdF9taXNzaW5nKCkKYGBgCgpgYGB7cn0KaG90ZWxfc3RheXMgJT4lIHBsb3RfYmFyKG1heGNhdCA9IDUwLCBucm93ID0gMykKYGBgCgpgYGB7cn0KaG90ZWxfc3RheXMgJT4lIHBsb3RfaGlzdG9ncmFtKCkKYGBgCgpgYGB7cn0Kc2tpbShob3RlbF9zdGF5cykKYGBgCgpgYGB7cn0KaG90ZWxfc3RheXMgJT4lCiAgY291bnQoY2hpbGRyZW4pICU+JQogIHBsb3RfbHkobGFiZWxzID0gfmNoaWxkcmVuLCB2YWx1ZXMgPSB+bikgJT4lCiAgYWRkX3BpZShob2xlID0gMC42KSAlPiUKICBsYXlvdXQodGl0bGUgPSAic3ViamVjdCIsICBzaG93bGVnZW5kID0gVCwKICAgICAgICAgeGF4aXMgPSBsaXN0KHNob3dncmlkID0gRkFMU0UsIHplcm9saW5lID0gRkFMU0UsIHNob3d0aWNrbGFiZWxzID0gRkFMU0UpLAogICAgICAgICB5YXhpcyA9IGxpc3Qoc2hvd2dyaWQgPSBGQUxTRSwgemVyb2xpbmUgPSBGQUxTRSwgc2hvd3RpY2tsYWJlbHMgPSBGQUxTRSkpCgpgYGAKCgojIyDrp4nrjIDqt7jrnpjtlIQKCmBgYHtyIGZpZy5oZWlnaHQ9NSwgZmlnLndpZHRoPTEwfQpob3RlbF9zdGF5cyAlPiUKICBtdXRhdGUoYXJyaXZhbF9kYXRlX21vbnRoID0gZmFjdG9yKGFycml2YWxfZGF0ZV9tb250aCwKICAgIGxldmVscyA9IG1vbnRoLm5hbWUKICApKSAlPiUKICBjb3VudChob3RlbCwgYXJyaXZhbF9kYXRlX21vbnRoLCBjaGlsZHJlbikgJT4lCiAgZ3JvdXBfYnkoaG90ZWwsIGNoaWxkcmVuKSAlPiUKICBtdXRhdGUocHJvcG9ydGlvbiA9IG4gLyBzdW0obikpICU+JQogICMgcGxvdF9seSggeCA9IH5hcnJpdmFsX2RhdGVfbW9udGggLCB5ID0gfnByb3BvcnRpb24sIGNvbG9yID0gfmNoaWxkcmVuLHR5cGUgPSAnYmFyJywgbmFtZSA9ICdhYScpICsKICAjIGZhY2V0X3dyYXAofmhvdGVsLCBuY29sPSA1LCBzY2FsZXMgPSAiZnJlZSIpCiAgZ2dwbG90KGFlcyhhcnJpdmFsX2RhdGVfbW9udGgsIHByb3BvcnRpb24sIGZpbGwgPSBjaGlsZHJlbikpICsKICBnZW9tX2NvbChwb3NpdGlvbiA9ICJkb2RnZSIpICsKICBzY2FsZV95X2NvbnRpbnVvdXMobGFiZWxzID0gc2NhbGVzOjpwZXJjZW50X2Zvcm1hdCgpKSArCiAgZmFjZXRfd3JhcCh+aG90ZWwsIG5yb3cgPSAyKSArCiAgbGFicygKICAgIHggPSBOVUxMLAogICAgeSA9ICJQcm9wb3J0aW9uIG9mIGhvdGVsIHN0YXlzIiwKICAgIGZpbGwgPSBOVUxMKSArCiAgZ2dwbG90Mjo6dGhlbWVfbGlnaHQoKQojIGEKIyBnZ3Bsb3RseShhKQogICMgKQpgYGAKCgojIyDrp4nrjIAg6re4656Y7ZSECmBgYHtyfQoKY29sb3JzUHVZZSA8LSBjKCIjNUMzNzRDIiwgIiM5ODUyNzciLCAiI0NFNkE4NSIsICIjRkZDRjZBIiwgIiNGRkI3NDIiLCAiI0U5NjkyQyIpCgpob3RlbF9zdGF5cyAlPiUKICBjb3VudChob3RlbCwgcmVxdWlyZWRfY2FyX3Bhcmtpbmdfc3BhY2VzLCBjaGlsZHJlbikgJT4lCiAgZ3JvdXBfYnkoaG90ZWwsIGNoaWxkcmVuKSAlPiUKICBtdXRhdGUocHJvcG9ydGlvbiA9IG4gLyBzdW0obikpICU+JQogIGdncGxvdChhZXMocmVxdWlyZWRfY2FyX3Bhcmtpbmdfc3BhY2VzLCBwcm9wb3J0aW9uLCBmaWxsID0gY2hpbGRyZW4pKSArCiAgZ2VvbV9jb2wocG9zaXRpb24gPSAiZG9kZ2UiKSArCiAgc2NhbGVfeV9jb250aW51b3VzKGxhYmVscyA9IHNjYWxlczo6cGVyY2VudF9mb3JtYXQoKSkgKwogIGZhY2V0X3dyYXAofmhvdGVsLCBucm93ID0gMikgKwogIGxhYnMoCiAgICB4ID0gTlVMTCwKICAgIHkgPSAiUHJvcG9ydGlvbiBvZiBob3RlbCBzdGF5cyIsCiAgICBmaWxsID0gTlVMTAogICkgKwogIGNvb3JkX2ZsaXAoKSArCiAgZ2VvbV9sYWJlbChhZXMobGFiZWwgPSByb3VuZChwcm9wb3J0aW9uLDIpKSwgc2l6ZSA9IDMsIHBvc2l0aW9uPXBvc2l0aW9uX2RvZGdlKHdpZHRoPTAuOSkpCiAgIyBzY2FsZV9maWxsX2dyYWRpZW50KGxvdz1jb2xvcnNQdVllWzNdLCBoaWdoPWNvbG9yc1B1WWVbMV0sIGd1aWRlID0gIm5vbmUiKQoKYGBgCgpgYGB7cn0KaG90ZWxfc3RheXMgJT4lCiAgbXV0YXRlKGFycml2YWxfZGF0ZV9tb250aCA9IGZhY3RvcihhcnJpdmFsX2RhdGVfbW9udGgsCiAgICBsZXZlbHMgPSBtb250aC5uYW1lCiAgKSkgJT4lCiAgY291bnQoaG90ZWwsIGFycml2YWxfZGF0ZV9tb250aCwgY2hpbGRyZW4pICU+JQogIGdyb3VwX2J5KGhvdGVsLCBjaGlsZHJlbikgJT4lCiAgbXV0YXRlKHByb3BvcnRpb24gPSBuIC8gc3VtKG4pKSAlPiUKICBwbG90X2x5KHggPSB+YXJyaXZhbF9kYXRlX21vbnRoICwgeSA9IH5wcm9wb3J0aW9uLCBjb2xvciA9IH5jaGlsZHJlbiwgdHlwZSA9ICJiYXIiKSAlPiUKICBsYXlvdXQodGl0bGUgPSAiT2NjdXBhdGlvbiBUeXBlIEdyb3VwIiwKICAgICAgICAgYmFybW9kZSA9ICdncm91cCcsCiAgICAgICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICIiKSwKICAgICAgICAgeWF4aXMgPSBsaXN0KHRpdGxlID0gIiIpKQoKYGBgCgpgYGB7cn0KdHJhY2VfMCA8LSBybm9ybSgxMDAsIG1lYW4gPSA1KQp0cmFjZV8xIDwtIHJub3JtKDEwMCwgbWVhbiA9IDApCnRyYWNlXzIgPC0gcm5vcm0oMTAwLCBtZWFuID0gLTUpCnggPC0gYygxOjEwMCkKCmRhdGEgPC0gZGF0YS5mcmFtZSh4LCB0cmFjZV8wLCB0cmFjZV8xLCB0cmFjZV8yKQoKZmlnIDwtIHBsb3RfbHkoZGF0YSwgeCA9IH54LCB5ID0gfnRyYWNlXzAsIG5hbWUgPSAndHJhY2UgMCcsIHR5cGUgPSAnc2NhdHRlcicsIG1vZGUgPSAnbGluZXMnKSAKZmlnIDwtIGZpZyAlPiUgYWRkX3RyYWNlKHkgPSB+dHJhY2VfMSwgbmFtZSA9ICd0cmFjZSAxJywgbW9kZSA9ICdsaW5lcyttYXJrZXJzJykgCmZpZyA8LSBmaWcgJT4lIGFkZF90cmFjZSh5ID0gfnRyYWNlXzIsIG5hbWUgPSAndHJhY2UgMicsIG1vZGUgPSAnbWFya2VycycpCgpmaWcKYGBgCgojIyDrjbDsnbTthLAg7ZWc7YyQ7JeQIOuztOq4sApgYGB7cn0KaG90ZWxfc3RheXMgJT4lCiAgc2VsZWN0KAogICAgY2hpbGRyZW4sIGFkciwKICAgIHJlcXVpcmVkX2Nhcl9wYXJraW5nX3NwYWNlcywKICAgIHRvdGFsX29mX3NwZWNpYWxfcmVxdWVzdHMKICApICU+JQogIGdncGFpcnMobWFwcGluZyA9IGFlcyhjb2xvciA9IGNoaWxkcmVuKSkKYGBgCgojIOyCsOygkOuPhCDqt7jrnpjtlIQKYGBge3J9CmhvdGVsX3N0YXlzICU+JQogICAgZ2dwbG90KGFlcyhsZWFkX3RpbWUsIGFkcikpICsKICAgIGdlb21fcG9pbnQoY29sb3IgPSBwYWxldHRlX2xpZ2h0KClbImJsdWUiXSwgYWxwaGEgPSAwLjE1KSArCiAgICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iKSArCiAgICBzY2FsZV95X2xvZzEwKGxhYmVsID0gc2NhbGVzOjpkb2xsYXJfZm9ybWF0KCkpICsKICAgIHRoZW1lX3RxKCkgCiAgICAjIGxhYnModGl0bGUgPSAiRW5naW5lIEhvcnNlcG93ZXIgdnMgTVNSUCBieSBWZWhpY2xlIEFnZSIsCiAgICAjICAgICAgeCA9ICJFbmdpbmUgSFAiLCB5ID0gIk1TUlAgKGxvZyBzY2FsZSkiKQpgYGAKCiMjIO2VmOydtOudvOydtO2KuCDsoIHsmqkKYGBge3J9CmhvdGVsX3N0YXlzICU+JQogICAgZ2dwbG90KGFlcyhsZWFkX3RpbWUsIGFkcikpICsKICAgIGdlb21fcG9pbnQoY29sb3IgPSBwYWxldHRlX2xpZ2h0KClbImJsdWUiXSwgYWxwaGEgPSAwLjE1KSArCiAgICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iKSArCiAgICBzY2FsZV95X2xvZzEwKGxhYmVsID0gc2NhbGVzOjpkb2xsYXJfZm9ybWF0KCkpICsKICAgIGdnaGlnaGxpZ2h0KGxlYWRfdGltZSA+IDYwMCwgbGFiZWxfa2V5ID0gbGVhZF90aW1lLCAKICAgICAgICAgICAgICAgIHVuaGlnaGxpZ2h0ZWRfY29sb3VyID0gYWxwaGEoImdyZXkiLCAwLjA1KSwKICAgICAgICAgICAgICAgIGxhYmVsX3BhcmFtcyA9IGxpc3Qoc2l6ZSA9IDIuNSkpICsKCiAgICB0aGVtZV90cSgpIAogICAgIyBsYWJzKHRpdGxlID0gIkVuZ2luZSBIb3JzZXBvd2VyIHZzIE1TUlAgYnkgVmVoaWNsZSBBZ2UiLAogICAgIyAgICAgIHggPSAiRW5naW5lIEhQIiwgeSA9ICJNU1JQIChsb2cgc2NhbGUpIikKYGBgCgpgYGB7cn0KIyBzZWxlY3RfaWYoaXMubnVtZXJpYykg7Iir7J6Q7ZiV66eMCgpob3RlbF9zdGF5cyAlPiUgc2VsZWN0KC1yZXNlcnZhdGlvbl9zdGF0dXNfZGF0ZSkgJT4lIGJpbmFyaXplKG5fYmlucyA9IDUsIHRocmVzaF9pbmZyZXEgPSAwLjAxICwgbmFtZV9pbmZyZXEgPSAiT1VUSEVSIiwgb25lX2hvdCA9IFQpICU+JQogICAgY29ycmVsYXRlKGxlYWRfdGltZV9fNV8yNykgJT4lCiAgICBwbG90X2NvcnJlbGF0aW9uX2Z1bm5lbCgpCgoKYGBgCgoKYGBge3J9CmhvdGVsX3N0YXlzICU+JSBnZ3BhaXJzKGNvbHVtbnM9YygyLDcsMjYpLCBhZXMoY29sb3VyPWNoaWxkcmVuLCBhbHBoYT0wLjQpLAogICAgICAgICAgICAgICAgIGxvd2VyPWxpc3QoY29udGludW91cz13cmFwKCJzbW9vdGgiLCBtZXRob2Q9ImxvZXNzIiwgc2U9RikpKQpgYGA=